﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UserLINQ.Types;
using UserLINQ.BLL;
using UserLINQ.Repository.Repositories;

namespace UserLINQ
{
	class Program
	{
		static void Main(string[] args)
		{
			// загрузим юзеров из репозитория
			UserBLL usersBLL = new UserBLL(new TestRepository());
			// создадим объект фильтра
			FilterFIO fioFilter = new FilterFIO();
			// Установим в фильтре параметры
			fioFilter.FirstName = "Иван";
			// установим фильтр	на список пользователей
			usersBLL.Filter = fioFilter;

			IEnumerable<User> users = usersBLL.Users;
			IEnumerable<User> sorted = users.Sort("LastName", Extensions.SortDirection.Ascending);

			Console.WriteLine();
			Console.WriteLine("Пользователи:");
			Console.WriteLine();

			// Если отфильтрованный список пуст
			if (sorted.Count() == 0)
				Console.WriteLine("Совпадений не обнаружено");
			else
				// Выведем всех отфильтрованных пользователей
				foreach (var user in sorted)
				{
					Console.WriteLine(user.FirstName + " " + user.Patronymic + " " + user.LastName);
				}

			Console.WriteLine();

		}
	}
}
